// main.js
import {
	createSSRApp
} from 'vue';
import App from './App.vue';
import pinia from './store';
import uviewPlus, {
	setConfig,
	fontUtil
} from '@/uni_modules/uview-plus'

import {
	Utils
} from '@/uni_modules/mc-ui/libs/util/utils'


// import {
// 	initBluetooth
// } from '@/common/comFun/bluetooth'

export function createApp() {
	const app = createSSRApp(App);


	// 挂载 pinia
	app.use(pinia)


	// 初始化蓝牙管理器
	// const bluetooth = initBluetooth()

	app.use(uviewPlus, () => {
		return {
			options: {
				// 修改config对象的属性
				config: {
					// 只加载一次字体图标
					loadFontOnce: true,
					// iconUrl: "/static/assets/font/uviewPlus/uviewPlus.ttf",
					unit: 'rpx',
				}

			}
		}
	});
	// 典型的全局错误处理器配置
	app.config.errorHandler = (err, vm, info) => {
		// 这里的代码可能存在错误
		console.error('Vue error:', err, info)
		// 比如调用了一个不存在的函数
		// reportErrorToServer(err) // 如果reportErrorToServer未定义，就会触发警告
	}



	uni.$utils = Utils;

	// uni.$bluetooth = bluetooth


	// 类型声明（可选，用于 TypeScript 支持）
	// declare module '@vue/runtime-core' {
	// 	interface ComponentCustomProperties {
	// 		$bluetooth: ReturnType < typeof initBluetooth >
	// 	}
	// }

	return {
		app
	}
}